package com.xianyun.book.gatewayimpl.database;

import com.xianyun.book.gatewayimpl.database.dataobject.BookDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * @author ytt
 */
@Mapper
public interface BookMapper {
    /**
     * 添加
     * @param bookDO
     */
    void create(BookDO bookDO);

    /**
     * 修改
     * @param bookDO
     */
    void update(BookDO bookDO);

    /**
     * 按照ISBN查找书籍
     * @param isbn
     * @return
     */
    BookDO selectBookByIsbn(String isbn);

    /**
     * 条件查询
     * @param bookDO 查询
     * @return 集合
     */
    List<BookDO> listBookBySort(BookDO bookDO);

    /**
     * 根据书籍上架时间获取
     * @return
     */
    List<BookDO> selectBooksOrderByNewTime();

    /**
     * 根据书籍销售情况获取
     * @return
     */
    List<BookDO> selectBooksOrderBySales();
    /**
     * 保存书籍类型与书籍的关联
     * @param bookId 书籍ID
     * @param typeId 类型ID
     */
    void saveBookTypeAssociate(@Param("bookId") int bookId, @Param("typeId") int typeId);
}
